import * as types from './mutation_types'

const navlist = [{
  title: '首页', // 标题名称
  path: '/home', // 标题的路径
  params: '', // 标题的路径参数
  query: '', // 标题的参数
  meta: {} // 额外参数
}]

// 处理首个标签
function setFistTag (list) {
  list.map((ele, index) => {
    ele.close = !(index === 0)
  })
}

// 新增标签
export const addTags = ({ commit }, val) => {
  let tagslist = []
  if (!sessionStorage.getItem('tagsList')) {
    tagslist = navlist
  }
  if (val.path !== '/home') {
    let hasSttribute = false
    if (sessionStorage.getItem('tagsList')) {
      tagslist = JSON.parse(sessionStorage.getItem('tagsList'))
    }
    tagslist.map(item => {
      if (item.path === val.path) {
        hasSttribute = true
      }
    })
    if (!hasSttribute) {
      tagslist.push({
        title: val.name, // 标题名称
        path: val.path, // 标题的路径
        params: val.params || '', // 标题的路径参数
        query: val.query || '', // 标题的参数
        meta: val.meta || '' // 额外参数
      })
    }
  }
  setFistTag(tagslist)
  commit(types.TAGS_SET_RETRIEVED, tagslist)
}

// 删除标签
export const delTags = ({ commit, state }, val) => {
  commit(types.TAGS_SET_RETRIEVED, val)
}
